﻿using OpenCvSharp.CPlusPlus;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace VisionRoc.Core
{
    public class YOLOData
    {
        /// <summary>
        /// 用于存放6个基本数据:中心x,中心y,宽,高,置信度,标签索引；如果是分类模型,则只会返回2个数据
        /// </summary>
        public float[] basic { get; set; }
        public Pose[] pose { get; set; }
        /// <summary>
        /// 初期用于存放分割模型的32个mask数据,在后处理中,会对该值重新赋予一个还原后的掩膜数据。它是由0和1组成的矩阵，1代表掩膜部分
        /// </summary>
        public Mat mask { get; set; }

    }

    public struct ObbStruct
    {
        public PointF pt1;
        public PointF pt2;
        public PointF pt3;
        public PointF pt4;

    }
    public class Pose
    {
        /// <summary>
        /// pose点的x坐标
        /// </summary>
        public float X { get; set; }
        /// <summary>
        /// post点的y坐标
        /// </summary>
        public float Y { get; set; }
        /// <summary>
        /// pose点的可信度,当该值较低时,实际大概率是在框外面,一般以0.5为阈值
        /// </summary>
        public float V { get; set; }
    }
}
